{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Lax-Wendroff scheme.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "julia",
      "display_name": "Julia"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "erJ7bkEtLrCF",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "460070c4-6f5a-4fb3-d0a8-6cab41480a97"
      },
      "source": [
        "# Linear Advection Equation\n",
        "# ∂u/∂t + c∂u/∂x = 0\n",
        "# the code and formula are modified from:\n",
        "# https://peymandavvalo.github.io/linear_1d_advection_equation.html\n",
        "\n",
        "using SparseArrays, PyPlot\n",
        "struct LinearAdvection1D\n",
        "    c::Float64  \n",
        "    x0::Float64   \n",
        "    xN::Float64  \n",
        "    N::Int64    \n",
        "    deltaT::Float64\n",
        "    T::Float64\n",
        "end\n",
        "\n",
        "N,x0,xN,deltaT,c,T=100, 0., 10., 0.05, 1., 0.5\n",
        "\n",
        "LA1D = LinearAdvection1D(c, x0, xN, N, deltaT,T)\n",
        "\n",
        "x = collect(range(LA1D.x0, LA1D.xN, length=LA1D.N))\n",
        "\n",
        "function CFL(m::LinearAdvection1D)\n",
        "    deltaX = (m.xN - m.x0)/m.N\n",
        "    return abs(m.c*m.deltaT/deltaX)\n",
        "end\n",
        "\n",
        "function checkCFL(m::LinearAdvection1D)\n",
        "    if (CFL(m)<=1)\n",
        "        flag=true \n",
        "    else\n",
        "        flag=false\n",
        "    end\n",
        "    return flag\n",
        "end\n",
        "\n",
        "\n",
        "function solve(u0::Vector, m::LinearAdvection1D, MatrixAssembly::Function)\n",
        "    u = similar(u0)\n",
        "    if checkCFL(LA1D)\n",
        "        println(\"CFL number is: $(CFL(LA1D))\")\n",
        "        A = MatrixAssembly(LA1D)\n",
        "        for t in 1:floor(Int, LA1D.T/LA1D.deltaT)\n",
        "            u = A*u0\n",
        "            u0 = u\n",
        "        end\n",
        "    else\n",
        "        println(\"CFL number is greater than 1. CFL: $(CFL(LA1D))\")\n",
        "    end\n",
        "    return u\n",
        "end"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "solve (generic function with 1 method)"
            ]
          },
          "metadata": {},
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# with upwind method, we get stable solution but a small loss in accuracy\n",
        "function upwindMatrixAssembly(m::LinearAdvection1D)\n",
        "    alpha_min=min(CFL(m),0)\n",
        "    alpha_max=max(CFL(m),0)\n",
        "    a1=fill(alpha_max, m.N-1)\n",
        "    a2=fill(1+alpha_min-alpha_max, m.N)\n",
        "    a3=fill(-alpha_min, m.N-1)\n",
        "    A=spdiagm(-1=>a1,0=>a2,1=>a3)\n",
        "    A[1,end]=alpha_max\n",
        "    A[end,1]=-alpha_min\n",
        "    return A\n",
        "end\n",
        "\n",
        "u0 = exp.(-(x .- 2) .* (x .- 2))\n",
        "u = solve(u0,LA1D,upwindMatrixAssembly)\n",
        "\n",
        "plot(x, u0, label=\"Initial value\")\n",
        "plot(x, u, label=\"Solution at t=$(LA1D.T)\")\n",
        "title(\"upwind\")\n",
        "legend()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 489
        },
        "id": "YWcArCVjj197",
        "outputId": "4e5a4a45-dc07-494b-8dc8-7c7521ffddd6"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Figure(PyObject <Figure size 640x480 with 1 Axes>)"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXSU1f0/8Pczk1my7xuQBQhbgICAIGIEbRSXUu2xvy8qFaHfolg5KvlVLVZAcQGptbhVKkqxSqtdtPpT61IqiiWKgAFlyQIJCZA9ZF8ms/z+eOZ5koFsk9wnmeX9OidnJpOZO0+AQ96593M/V3I4HA4QERERDRPdcF8AERER+TeGESIiIhpWDCNEREQ0rBhGiIiIaFgxjBAREdGwYhghIiKiYcUwQkRERMOKYYSIiIiGFcMIERERDSuGESLySAsWLMCCBQs8fkwiGjyGESIiIhpWAcN9AURE3fnkk0+G+xKIaIgwjBCRRzIajcN9CUQ0RLhMQ0Quli1bhtTU1Asef+SRRyBJkvq5JElYtWoVdu7ciQkTJsBsNmPmzJn44osv1OccPnwYkiThvffeUx87cOAAJEnCjBkzXMa/9tprMWfOHPXz8+s7du/eDUmS8Ne//hVPPPEERo0aBbPZjB/84AcoLCy84HpffvlljB07FoGBgZg9ezb27NkzkD8OIhoCDCNENGCff/457rvvPvz0pz/Fhg0bUFNTg2uuuQbff/89AGDKlCmIiIhwCSh79uyBTqfDoUOH0NDQAACw2+3Yu3cvLr/88j7fc9OmTXjnnXfwy1/+EmvWrMFXX32FJUuWuDzn1VdfxZ133omEhARs3rwZ8+bNw49+9COUlpYK/O6JSBQu0xDRgH3//ffYv38/Zs6cCQC4+eabMWHCBKxbtw5vv/02dDod5s2b5zIrsWfPHtx444149913sXfvXlxzzTVqMMnMzOzzPdva2pCbm6su40RGRuLee+/F999/jylTpqCjowMPPfQQpk+fjs8++0x9Xnp6Ou644w4kJSVp8CdBRIPBmREiGrC5c+eqQQQAkpOTccMNN+Djjz+GzWYDAGRmZuLgwYNobm4GAHz55Ze47rrrMH36dDWk7NmzB5Ik4bLLLuvzPZcvX+5ST6IEmJMnTwIA9u/fj8rKSqxcudLlecuWLUN4ePggv2Mi0gJnRohowMaNG3fBY+PHj0dLSwuqqqqQkJCAzMxMWK1W5OTkICkpCZWVlcjMzMSRI0dcwkh6ejqioqL6fM/k5GSXzyMjIwEA586dAwCcOnWq22szGAwYM2aM+98kEWmOMyNE5KJrkWpXykyHu2bNmgWz2YwvvvgCe/bsQVxcHMaPH4/MzEzs27cP7e3t2LNnT7+WaABAr9d3+7jD4RjQ9RHR8GMYISIXkZGRqKuru+BxZcahq4KCggsey8/PR1BQEGJjYwHIW3SV3SxdQ0dmZiba29uxc+dOVFRU9Kt4tT9SUlK6vbaOjg4UFRUJeQ8iEothhIhcjB07FvX19Th8+LD6WFlZGd55550LnpuTk4ODBw+qn5eWluLdd9/F1Vdf7TKDkZmZia+//hqfffaZGkZiYmIwadIkPPXUU+pzRJg1axZiY2OxdetWWCwW9fEdO3Z0G7KIaPgxjBCRi5tvvhnBwcH48Y9/jGeffRYbN27EnDlzMH78+AueO2XKFCxcuBCPPfYYNm/erAaKRx991OV5mZmZaG1tRWlpqUvouPzyy5Gfn4/U1FSMGjVKyPUbDAY8/vjjyM3NxZVXXonnn38e2dnZeOCBB1gzQuShGEaIyEV0dDTeeecdBAUF4YEHHsBrr72GjRs3YtGiRRc8d/78+diyZQtef/11rFu3DlFRUfjXv/6FjIwMl+ddeuml0Ov1CA0NxbRp09THuy7ZiHTHHXfg97//Pc6ePYv7778fe/bswXvvvcdtvUQeSnKw6ouIBkCSJNx999144YUXhvtSiMjLcWaEiIiIhhXDCBEREQ0rhhEiIiIaVuzASkQDwnIzIhKFMyNEREQ0rBhGiIiIaFh5xTKN3W7H2bNnERoa2uO5GURERORZHA4HGhsbMWLECOh0Pc9/eEUYOXv2LJsVEREReanS0tJeuyx7RRgJDQ0FIH8zYWFhw3w1RERE1B8NDQ1ISkpSf473xCvCiLI0ExYWxjBCRETkZfoqsWABKxEREQ0rhhEiIiIaVgwjRERENKy8omaEiMjfORwOWK1W2Gy24b4UIpVer0dAQMCg224wjBAReTiLxYKysjK0tLQM96UQXSAoKAiJiYkwGo0DHoNhhIjIg9ntdhQVFUGv12PEiBEwGo1s/kgeweFwwGKxoKqqCkVFRRg3blyvjc16wzBCROTBLBYL7HY7kpKSEBQUNNyXQ+QiMDAQBoMBp06dgsVigdlsHtA4LGAlIvICA/2Nk0hrIv5t8l83ERERDSu3w8gXX3yBRYsWYcSIEZAkCf/85z/7fM3u3bsxY8YMmEwmpKWlYceOHQO5ViIiIvJBboeR5uZmTJs2DS+++GK/nl9UVITrr78eV1xxBXJzc3Hffffh5z//OT7++GO3L5aIiHxbf37JXbZsGW688cZ+j1lcXAxJkpCbmzvYy+tVf39Bpwu5XcB67bXX4tprr+3387du3YrRo0fjt7/9LQBg0qRJ+PLLL/G73/0OCxcudPftiYjISyxbtgx1dXVu/YAuKytDZGQkADlEjB49Gt9++y2mT5+uPufZZ5+Fw+EQfr00fDSvGcnJyUFWVpbLYwsXLkROTk6Pr2lvb0dDQ4PLB3kvh8OB3XmVePGzQtS3dgz35RCRB0tISIDJZOr1OeHh4YiIiBiiK6KhoHkYKS8vR3x8vMtj8fHxaGhoQGtra7ev2bhxI8LDw9WPpKQkrS+TNNButeGv35Ri4ZYvsOyP3+A3H+dh2R/3obndOtyXRuTVHA4HWizWYfkYzIzEggULcM899+CBBx5AVFQUEhIS8Mgjj7g8p+tSx+jRowEAF110ESRJwoIFCwBcuEzz0Ucf4bLLLkNERASio6Pxwx/+ECdOnOj3dT300EOYM2fOBY9PmzYNGzZsAAB88803uOqqqxATE4Pw8HDMnz8fBw8e7HHM3bt3Q5Ik1NXVqY/l5uZCkiQUFxerj3355ZfIzMxEYGAgkpKScM8996C5ubnf1+4rPLLPyJo1a5Cdna1+3tDQwEDiRRwOB179sgh/+OIkqhrbAQDBRj10OgnfltTh56/txx+XXwyzQT/MV0rknVo7bEhfNzx1d0c3LESQceA/Ol577TVkZ2fj66+/Rk5ODpYtW4Z58+bhqquuuuC5+/btw+zZs/Hvf/8bkydP7rHDZ3NzM7Kzs5GRkYGmpiasW7cOP/7xj5Gbm9uvbadLlizBxo0bceLECYwdOxYAcOTIERw+fBj/+Mc/AACNjY24/fbb8fzzz8PhcOC3v/0trrvuOhQUFCA0NHRAfxYnTpzANddcg8cffxzbt29HVVUVVq1ahVWrVuGPf/zjgMb0VpqHkYSEBFRUVLg8VlFRgbCwMAQGBnb7GpPJ1Oc0HXmud3PP4vEPjgEAEsPNWHZpKm6enYzi6mYseeVr5Jyswco3DuAPt82EKYCBhMifZGRkYP369QCAcePG4YUXXsCuXbu6DSOxsbEAgOjoaCQkJPQ45k033eTy+fbt2xEbG4ujR49iypQpfV7T5MmTMW3aNPz5z3/G2rVrAQA7d+7EnDlzkJaWBgC48sorXV7z8ssvIyIiAp9//jl++MMf9vke3dm4cSOWLFmC++67D4D85/Hcc89h/vz5eOmllwbcQMwbaR5G5s6diw8//NDlsU8//RRz587V+q1pGHTY7Hjm03wAwIrM0Xjgmokw6OXfTKYlRWD7souxdPvX2J1XhXv/kosXbr0IAXq2uyFyR6BBj6MbhmcDQOAgZzQzMjJcPk9MTERlZeWgxiwoKMC6devw9ddfo7q6Gna7HQBQUlLSrzACyLMj27dvx9q1a+FwOPCXv/zFZYa+oqICDz/8MHbv3o3KykrYbDa0tLSgpKRkwNd96NAhHD58GDt37lQfczgc6hEAkyZNGvDY3sbtMNLU1ITCwkL186KiIuTm5iIqKgrJyclYs2YNzpw5gz/96U8AgJUrV+KFF17AAw88gJ/97Gf4z3/+g7/+9a/44IMPxH0X5DH+tv80SmpbEBNixOqrxqtBRDF7dBS2LZ2F/92xHx8dKcev3/keT/0ko4fRiKg7kiQNaqlkOBkMBpfPJUlSw8NALVq0CCkpKdi2bRtGjBgBu92OKVOmwGKx9HuMW265BQ8++CAOHjyI1tZWlJaWYvHixerXb7/9dtTU1ODZZ59FSkoKTCYT5s6d2+N7KMtDXWtsOjpcC/ibmppw55134p577rng9cnJyf2+dl/g9r/m/fv344orrlA/V5Lj7bffjh07dqCsrMwlKY4ePRoffPABVq9ejWeffRajRo3CK6+8wm29Pqitw4bndhUAAO6+Iq3H/ywzx8Xi90tmYMXr+/HW/lLcOX8MxsSGDOWlEpEXUGpEbDZbj8+pqalBXl4etm3bhszMTAByUai7Ro0ahfnz52Pnzp1obW3FVVddhbi4OPXr//3vf/H73/8e1113HQCgtLQU1dXVPY6nLDF13ap8fp+TGTNm4OjRo+pSkD9zO4wsWLCg12rq7rqrLliwAN9++627b0Ve5o2vTqG8oQ0jws24dU7vqT4rPR5XTIjDf45X4i/7SvDr69OH6CqJyFvExcUhMDAQH330EUaNGgWz2Yzw8HCX50RGRiI6Ohovv/wyEhMTUVJSgl/96lcDer8lS5Zg/fr1sFgs+N3vfufytXHjxuH111/HrFmz0NDQgPvvv7/HukcASEtLQ1JSEh555BE88cQTyM/PV/ttKR588EFccsklWLVqFX7+858jODgYR48exaeffooXXnhhQN+Dt+JiPQnR1G7FS7vlrXT3/GBcvwpTb50tB5a/HziNto6ef/PpU10JUJU38NcTkUcKCAjAc889hz/84Q8YMWIEbrjhhgueo9Pp8Oabb+LAgQOYMmUKVq9ejd/85jcDer+f/OQnqKmpQUtLywUdXl999VWcO3cOM2bMwG233YZ77rnHZebkfAaDAX/5y19w/PhxZGRk4KmnnsLjjz/u8pyMjAx8/vnnyM/PR2ZmJi666CKsW7cOI0aMGND1ezPJ4QVt7BoaGhAeHo76+nqEhYUN9+VQN57fVYDffpqP0THB+GT15RfUinTHarMjc/NnKKtvw7M3T8cN00f2/w3tdqDw38A324CCT+XHfvQ8MOO2AX4HRJ6pra0NRUVFGD16tF/triDv0du/0f7+/ObMCA1afUsHXt5zEgBwX9a4fgURAAjQ67D4Yrl/zM6v+1mRbrMCe18Anr8I+PP/AQo+AeCQP95bBXzzygC+AyIiGk4MIzRoL+85gcY2KyYmhGJRhnvTizdfnAy9TsK+oloUVDT2/YLPHgc++TVwrhgwhQOX/AJYdQC45G756x/8XyCnf4c4EhGRZ2AYoUGx2x1465vTAORZEZ1Ocuv1CeFmXDlRXnf9874+ZkfOFXcGjaxHgf97DLhmIxCTBix8Arhstfy1jx8C9jzj1nUQEdHwYRihQck9XYfqpnaEmgJw5cT4vl/QDWXnzT/6KmT996OAzQKMng/MuxcwBnd+TZKAH6wHFqyRP9/1KPDVSwO6HiIiGloMIzQo/z4qt/qfPyEWxoCB/XO6fFwsRkYEoqHNig8Ol3X/pNJ9wJG3AUjyLIjUzQyMJAELfgVc8bD8+e5NgMX/DpwiIvI2DCM0KP8+JoeRq9IHNisCAHqdpM6O7Pz61IVPcDjkpRcAuGgJkDC19wEzs4HIVKCtDjj81oCvi4iIhgbDCA3YqZpm5Fc0Qa+TsGB8z/vt++P/zBqFAJ2EgyV1OF7e4PrFI28Dp78BDMGdsx690emB2XfK97/+gxxmiIjIYzGM0ID9+5h8uNXs1CiEBxn6eHbv4kLN6uzKO9+e6fxCRxvw70fk+5fdB4Ql9m/Ai5YAxhCg6jhw8rNBXRsREWmLYYQG7NOj5QAGt0TT1TVT5CPC/1vY5byHr7fKHVZDRwBzV/V/MHM4MH2JfP+rrUKuj4iItMEwQgNS12LBN8XnAABZk8SEkUvHxgAAjpxtQG2zBeho7dyi+4N1gDHIvQHn3AlAAgo+BmpOCLlGIhpajzzyCKZPnz7ocXbs2IGIiAgBV0RaYBihAdmdVwWb3YEJ8aFIjnYzJPQgNtSEiQmhcDiAnBM1QOEuoL0eCE8CMhb3PcD5oscC466W73/9ByHXSET9V1VVhbvuugvJyckwmUxISEjAwoUL8d///lfT901NTcWWLVtcHlu8eDHy8/M1fd/+2L17NyRJQl1dXa/PExWeSkpKcP311yMoKAhxcXG4//77YbVae31NamoqJEly+di0adOgr6U3bp/aSwQAnzp30WSlD65w9Xzz0mJwvLwRXxZW43rHu/KD6TcAugHm5ktWyjMjuTuBK38tL98Q0ZC46aabYLFY8Nprr2HMmDGoqKjArl27UFNTM+TXEhgY2Ospu77IZrPh+uuvR0JCAvbu3YuysjIsXboUBoMBTz75ZK+v3bBhA1asWKF+Hhoaqum1cmaE3Gax2vF5XhUAcUs0isvS5KWafQVlQN6/5AfTLzyps9/GXAHETgQsTcC3bwi4QiIP4HDIPXSG46Ofu9Pq6uqwZ88ePPXUU7jiiiuQkpKC2bNnY82aNfjRj36kPq+kpAQ33HADQkJCEBYWhv/5n/9BRUVFj+MuWLAA9913n8tjN954I5YtW6Z+/dSpU1i9erX6Wz3Q/UzDSy+9hLFjx8JoNGLChAl4/fXXXb4uSRJeeeUV/PjHP0ZQUBDGjRuH9957r9fv+/XXX8esWbMQGhqKhIQE3HrrraislIv9i4uLccUVVwAAIiMjIUmSet1d7d69G8uXL0d9fb36PTzyyCO9vm93PvnkExw9ehRvvPEGpk+fjmuvvRaPPfYYXnzxRVgsll5fq1y/8hEcHNzr8weLMyPktq9O1qCp3YrYUBOmjRK7Bjt7dBQCdBJS6r8GjI1y4erIWQMfUJKAOSuB9++Tl2rmrJS3/hJ5s44W4MlhOmb+obOu3Y97EBISgpCQEPzzn//EJZdcApPJdMFz7Ha7GkQ+//xzWK1W3H333Vi8eDF27949oMt7++23MW3aNNxxxx0uv9mf75133sG9996LLVu2ICsrC++//z6WL1+OUaNGqYEBAB599FFs3rwZv/nNb/D8889jyZIlOHXqFKKiorodt6OjA4899hgmTJiAyspKZGdnY9myZfjwww+RlJSEf/zjH7jpppuQl5eHsLCwbmdrLr30UmzZsgXr1q1DXl4eAPnPEwBWrlyJN97o/RerpqYmAEBOTg6mTp2K+PjOXxoXLlyIu+66C0eOHMFFF13U4xibNm3CY489huTkZNx6661YvXo1AgK0iwwMI+Q2pdFZ1qQ4t8+i6UuwKQAzkiNx3Zl98gODWaJRZCyW28PXnQJO7gbSfjDo6ySi3gUEBGDHjh1YsWIFtm7dihkzZmD+/Pm4+eabkZGRAQDYtWsXvvvuOxQVFSEpST7B+09/+hMmT56Mb775BhdffLHb7xsVFQW9Xq/+Zt+Tp59+GsuWLcMvfvELAEB2dja++uorPP300y5hZNmyZbjlllsAAE8++SSee+457Nu3D9dcc0234/7sZz9T748ZMwbPPfccLr74YjQ1NSEkJEQNMXFxcT3WhBiNRoSHh0OSpAu+hw0bNuCXv/xlP/4kgPLycpcgAkD9vLy8vMfX3XPPPZgxYwaioqKwd+9erFmzBmVlZXjmGe3O/GIYIbc4HA61BbzoJRpF5phwXFW2X/5kMEs0CmMQMGkRcPBPQMEnDCPk/QxB8gzFcL13P9100024/vrrsWfPHnz11Vf417/+hc2bN+OVV17BsmXLcOzYMSQlJalBBADS09MRERGBY8eODSiM9NexY8dwxx13uDw2b948PPvssy6PKcEJAIKDgxEWFqYuu3TnwIEDeOSRR3Do0CGcO3cOdrsdgLwclZ6ePujrjouLQ1yc2Fq982VnZ6v3MzIyYDQaceedd2Ljxo3dznCJwJoRcsvRsgacrW+D2aDDPGd9h2jXBOchXGpBFSJhHzVbzKBpV8m3BZ+KGY9oOEmSvFQyHB/dnQvVC7PZjKuuugpr167F3r17sWzZMqxfv37A37pOp4PjvLqVjo6OAY/XF4PBtaGjJElqwDhfc3MzFi5ciLCwMOzcuRPffPMN3nnnHQDos0ajv1auXKkugfX0oUhISLig/kb5vLdZo/PNmTMHVqsVxcXFQr6H7jCMkFtyTshV8JeOjYHZoE3txdiqXQCAD62zcLS8ScygYxYAugCg9gRQe1LMmETktvT0dDQ3ywdYTpo0CaWlpSgtLVW/fvToUdTV1fU4ixAbG4uyss4DNW02G77//nuX5xiNRthsvZwA7nzv87cY//e//x3U7MXx48dRU1ODTZs2ITMzExMnTrxgFsVoNKrX3ZuevocNGzYgNze31w/F3Llz8d1337lcw6effoqwsDC3vs/c3FzodDpNZ2QYRsgtB07Jjc4uTu2+eGvQbB3Q5b0PAPiXfY5rN9bBMIcBSZfI9wv+LWZMIupRTU0NrrzySrzxxhs4fPgwioqK8Le//Q2bN2/GDTfIy69ZWVmYOnUqlixZgoMHD2Lfvn1YunQp5s+fj1mzui9cv/LKK/HBBx/ggw8+wPHjx3HXXXdd0LMjNTUVX3zxBc6cOYPq6u7/D7n//vuxY8cOvPTSSygoKMAzzzyDt99+u9/1GN1JTk6G0WjE888/j5MnT+K9997DY4895vKclJQUSJKE999/H1VVVWqx6flSU1PR1NSEXbt2obq6Gi0tLQDkZZq0tLRePxRXX3010tPTcdttt+HQoUP4+OOP8fDDD+Puu+9Wl1v27duHiRMn4swZ+RiOnJwcbNmyBYcOHcLJkyexc+dOrF69Gj/96U8RGRk54D+bvjCMUL85HA7sd4aRmSka/aMs3gO0nkOrIRL77BPxpagwAgDjsuTbQi7VEGktJCQEc+bMwe9+9ztcfvnlmDJlCtauXYsVK1bghRdeACAvebz77ruIjIzE5ZdfjqysLIwZMwZvvdXzads/+9nPcPvtt6uhZcyYMS4Fp4A8e1BcXIyxY8ciNja223FuvPFGPPvss3j66acxefJk/OEPf8Af//hHLFiwYMDfc2xsLHbs2IG//e1vSE9Px6ZNm/D000+7PGfkyJF49NFH8atf/Qrx8fFYtar7Yy4uvfRSrFy5EosXL0ZsbCw2b97s9vXo9Xq8//770Ov1mDt3Ln76059i6dKl2LBhg/qclpYW5OXlqUtdJpMJb775JubPn4/JkyfjiSeewOrVq/Hyyy+7/f7ukBznL755oIaGBoSHh6O+vh5hYWHDfTl+q7S2BZmbP0OATsL3jy7UZpnm/90LHNiB+vSfYtrB62A26JC77mox71X+PbB1HhAQCDxYDBjMgx+TSGNtbW0oKirC6NGjYTbz3yx5nt7+jfb35zdnRqjfDpbIsyKTR4RpE0RsVuCYvEQTNvMniAs1oa3Drr7voMVPlvuWWFuBU1+KGZOIiAaNYYT67aBziWaGVks0JXuBlmogMApS6mVqN1ZhdSOS1Lmtl3UjREQeg2GE+u2Ac4ZiRrJGYeT4h/LtxOsAvUHdOvxlocBzLMY5t/iyboSIyGMwjFC/tFisOFbWCEDD4lVl6SRNLjRVwsh3p+vQ0Caoj8CYBfIW35pCoLZIzJhERDQoDCPUL4dK62GzO5AYbsaICA1OvmytkwtMASD5UgBAQrgZIyMCYXcA35+uF/M+5nAgaY58v5BLNeQ9vGCvAfkpEf82GUaoXw5qvURT+jUABxCdBoR2tpmflhQOADgkKowA6swLu7GSN1A6gCp9Jog8jfJv8/xute7g2TTUL5oXr55ydkJMnuvycMaoCHz4XTm+O1PXzYsGaNxV8sF5RV8AHW3c4kseTa/XIyIiQu2iGRQUBMnNluxEWnA4HGhpaUFlZSUiIiKg1w98lyXDCPXJ4XCoxava1YvslW9T5rk8nDHKOTNSKnBmJH4KEJoINJbJIYgH55GHU84R6e2ANqLhEhER4dZZN91hGKE+naxuRl1LB0wBOqQnatB0ztIMnP1Wvp9yqcuXpo4MhyQBZ+paUdPUjugQASdGKlt8v31DrhthGCEPJ0kSEhMTERcXp+mhcETuMhgMg5oRUTCMUJ+UJZqMUeEwBmhQZnT6G8BuBcJGARHJLl8KNRswJiYYJ6qacfh0Pa6YKOigprSr5DBy4j9ixiMaAnq9Xsh//ESehgWs1Ce1eFWzJZoc+Tbl0m6PJ582KgIAcOi0wLqR1Mvk26rj8k4eIiIaNgwj1CflpF7NdtIoxavnLdEolLqRwyJ31ATHAJGj5ftn9osbl4iI3MYwQr2qb+1AQaV8xLUmYcRqkZdpgJ7DSJI8M3L4dJ3YXgtJs+Xb0wwjRETDiWGEepVbWgeHA0iJDkJsqIDi0fOd/RawtgFB0UDM+G6fkp4YhgCdhOomC87Wt4l771EXy7el+8SNSUREbmMYoV4N6RJND70TzAY9JiSEAgAOlwqs71DCyOn9gN0ublwiInILwwj16lvNi1e77y9yvgy1iFVwvxFDENBeD9QUiBuXiIjcwjBCPXI4HMh1zkRc5KzbEMpuc7aBR4/1IorOIlaBMyP6AGDEDPk+l2qIiIYNwwj16PS5VjS2WWHU6zA+PlT8G1R8D7Q3AKYweZaiF0oY+e50Pex2gUWso2bJt6cZRoiIhgvDCPXoyNkGAEBaXIg2zc6UJZqkOYCu90ZO4+NDYQrQobHdiqKaZnHXwB01RETDjmGEenSsTA4j6SM0aAEP9NlfpCuDXofJzusQulSjFLFWHgPaBNajEBFRvzGMUI+OKmFEi/NoHI5+F68q1CJWkYfmhcQBESkAHMCZA+LGJSKifmMYoR4dPavhzEjNCaClBggwAyMu6tdLpiVpUMQKcKmGiGiYMYxQt+pbOnCmrhUAMEmLmRHllBUfUk8AACAASURBVN6EqUCAsV8vUWZGjpxtQIdNYF+QUc4wwh01RETDgmGEuqUs0YyKDER4oEH8G5TlyreJ0/v9ktHRwQg1BaDdakdBRZO4a1F31HzD5mdERMOAYYS6pWm9CACcdYaREf0PIzqdhKla9BtJmAoEBAJtdUDtCXHjEhFRvzCMULeUnTSaLNHY7UDZIfm+GzMjgEadWPWGzroVLtUQEQ05hhHqlqbFq7UnAUujXLwaO9GtlyrXc7y8Qew1sfkZEdGwYRihC1isdhRUNgLQaJlGqRdJmCq3ZHfDJOeBefnljWI7sXJHDRHRsGEYoQsUVjahw+ZAqDkAoyIDxb+BspPGzSUaAEiNCYZRr0Ozxabu9hFCbX52FGhvFDcuERH1iWGELtC1eFWSJPFvMIDiVYVBr0NaXAiAzroWIUITgPBkwGFn8zMioiHGMEIX0LReZBDFq4qJzqWavHLBMxhK3Ygyc0NEREOCYYQucEzLbb2DKF5VTHCGkeOiw0hihnxb/p3YcYmIqFcMI+TC4XCoyzSabOtVilfjp7hdvKqYmKjRjpqEqfJt2WGx4xIRUa8YRsjF2fo21Ld2IEAnYVx8iAZv4FwCGUC9iEJZpimqbkZbh03EVckSnDMjNYWApVncuERE1KsBhZEXX3wRqampMJvNmDNnDvbt6703w5YtWzBhwgQEBgYiKSkJq1evRltb24AumLSl1IukxYXAFKAX/waDrBcBgLhQEyKDDLA75J0/woTEASEJABxAxRFx4xIRUa/cDiNvvfUWsrOzsX79ehw8eBDTpk3DwoULUVlZ2e3z//znP+NXv/oV1q9fj2PHjuHVV1/FW2+9hYceemjQF0/iDVnxaj9P6u2OJEna1Y0oSzXlXKohIhoqboeRZ555BitWrMDy5cuRnp6OrVu3IigoCNu3b+/2+Xv37sW8efNw6623IjU1FVdffTVuueWWPmdTaHgcLZPbrGtSvHquCGhvGFTxqmJigrNuROT2XqCziJV1I0REQ8atMGKxWHDgwAFkZWV1DqDTISsrCzk5Od2+5tJLL8WBAwfU8HHy5El8+OGHuO6663p8n/b2djQ0NLh80NA4VubsvKrFzIhSLzKI4lWFur23QquZEe6oISIaKm79RKiurobNZkN8fLzL4/Hx8Th+/Hi3r7n11ltRXV2Nyy67DA6HA1arFStXrux1mWbjxo149NFH3bk0EqChrQMltS0ANJoZEVC8qlCWaZTwJIxSxFp5FLBZBx2aiIiob5rvptm9ezeefPJJ/P73v8fBgwfx9ttv44MPPsBjjz3W42vWrFmD+vp69aO0tFTryyQAx50/2EeEmxERZBT/BgKKVxXj40MhSUB1UztqmtoHPZ4qcjRgDAGsbUBNgbhxiYioR2792hcTEwO9Xo+KigqXxysqKpCQkNDta9auXYvbbrsNP//5zwEAU6dORXNzM+644w78+te/hk53YR4ymUwwmUzuXBoJcPSsXC+iSX8Rl+LVwYeRYFMAkqOCcKqmBXnljbg0TdC/F51OXkYq/UpeqombJGZcIiLqkVszI0ajETNnzsSuXbvUx+x2O3bt2oW5c+d2+5qWlpYLAodeL28ZdTgEnrpKg5bv3CY7MTFU/OBK8areNOjiVcWEeOdSjVadWJXwREREmnJ7mSY7Oxvbtm3Da6+9hmPHjuGuu+5Cc3Mzli9fDgBYunQp1qxZoz5/0aJFeOmll/Dmm2+iqKgIn376KdauXYtFixapoYQ8Q4GzGHR8vAZhRKkXSZgC6A1ChlQ6seZp1YmVRaxEREPC7eq8xYsXo6qqCuvWrUN5eTmmT5+Ojz76SC1qLSkpcZkJefjhhyFJEh5++GGcOXMGsbGxWLRoEZ544glx3wUNmsPhQH6FPDMyLk6DMKK0gR9Ef5HzTdSs14hyRs1hwOEAtDi5mIiIVAPaKrBq1SqsWrWq26/t3r3b9Q0CArB+/XqsX79+IG9FQ6SqsR31rR3QScCY2GDxb6D07UicJmxIJYzkVzTCZndArxMUGmInAroAoPUc0HAGCB8lZlwiIuoWz6YhAFBnRVKig2E2aLB8VnlUvo2fLGxI+Vp1aOuwq1uShTCYgZgJ8n02PyMi0hzDCAGQZxcAYFycBofjNVUCzVUAJCBW3O4UvU5S61s068TKuhEiIs0xjBAAoMC5k0aT4lXl0LmoMYAxSOjQyo4anlFDROS9GEYIQOdOmnHxGsyMKGFE4BKNovPAPNE7aroUsRIRkaYYRsi5k0ZZptFgZkSDehHFJHV7r+iZkSnybV0J0FondmwiInLBMEKobGxHQ5tVu500Fd/LtxrOjJyqbUGLxSpu4MBIIDxZvs+6ESIiTTGMkDorkqrFThqbFajKk+/HpYsdG0BMiAkxIUY4HECBc0eQMCxiJSIaEgwjpP4Q16RepPakfOicIUg+hE4DytJSYaXgMMIiViKiIcEwQiio1LANfKWzeDVuknwInQbSnNuRC4SHEc6MEBENBYYRUhuepWnRY0TDnTQKZUansFKjItaq44DVInZsIiJSMYz4ua47abTpMeLcSROnXRhJi1XCiOCZkfAkwBgK2K1ATaHYsYmISMUw4ucqGtrR2GaFXid53U4aRZpzZqSktgVtHTZxA0uSvLwEdG5PJiIi4RhG/JwyK5ISHQRTgOCdNO2NQN0p+b6GYSQ2xITwQAPsDuBkVbPYweOdO4Aqj4kdl4iIVAwjfk5tA69JszPnD/DQRCAoSvz4TpIkqfUuhVWCl2riGEaIiLTGMOLnhqQNvAb9Rc6nHPBXWCG4iJXLNEREmmMY8XNqG3gtD8jTcIlGodn2XiVInSsGLIKXgIiICADDiF9zOBxqw7PxWsyMaHgmzfnUZRrRYSQ4BgiOBeDo7CRLRERCMYz4sfKGNjS2yztpRscI3knjcHTupBmKZRrnzE5RdTM6bHaxg3OphohIUwwjfkxpdpaqxU6ahrNAWz0g6YHYCWLH7saIcDOCjXpY7Q6cqhG8nMIiViIiTTGM+DG1eFWLnTRKvUjMOCDAJH7880iShLFaLdVwZoSISFMMI35M23qRoSteVahFrKJP71W6x3JmhIhIEwwjfiy/cgh20gxBvYhCPb1XdK8RZZmpsQxoqRU7NhERMYz4K4fDgUJ1ZkTDM2nip4gfuweazYyYw4DwZPl+1XGxYxMREcOIv6poaFd30qTGBIkd3GoBqp3bYOOHcmZEDiMnqppgszvEDs66ESIizTCM+KkTzqWM5CgNdtLUFMgn3ZrC5JNvh0hSVBCMATq0W+04c65V7OBqGGHdCBGRaAwjfkrZcTI2VoviVecP7LhJ8sm3Q0SvkzDG2S+loFJ0W3jnDE8FZ0aIiERjGPFTahiJE9zsDOgMI7ETxY/dB6UYV3xb+C7LNA7BS0BERH6OYcRPKcs0aVrMjChFnsoP8CGkfD/Ce43EjAckHdBWBzSWix2biMjPMYz4KeWHtbIDRahhnRnR6MA8gxmIGivfZxErEZFQDCN+qKGtA5WN7QCgdi0VpqMNOFck3x+OMKLsqKlsgkP0cko828ITEWmBYcQPnXDOGsSFmhBmNogdvKYAcNgBczgQmiB27H5IiQ6GXiehqd2K8oY2sYPzjBoiIk0wjPihE1XyQXLa7KRx1ovEDu1OGoUxQIfUaLlvivi28Ow1QkSkBYYRP6RpvUiVsq136JdoFEpbePE7apwzI1XHAbtd7NhERH6MYcQPKTtpxsZqsa23y8zIMEnT6vTeyNGA3gR0tAB1xWLHJiLyYwwjfuiEOjOiwZk0njAzEq+EEcGNz/QBQOx4+T7rRoiIhGEY8TMWqx2nalsAaNDwrKMVOFcs3x/GmRGlFkapjRFKLWJl3QgRkSgMI37mVE0zbHYHgo16JISZxQ5ereykiQBC4sSO7YYxzuWn2mYLapstYgdXtitX5Ykdl4jIjzGM+Bm1XiQuBJLo3S5dO68Ow04aRZAxACMjAgEAJ6u02lFzXOy4RER+jGHEz6g7abQ8IG8Ymp2dT5kdOSE6jMROkG+r8wG7TezYRER+imHEz6g9RjTZ1jt8Z9KcT7O6kYgUIMAM2No762OIiGhQGEb8jHpar5YH5HnAzMjYLm3hhdLp5UPzgM7vl4iIBoVhxI84HI7O03q12ElT6zyTxiNmRuTvr1D0Mg3QpYiVYYSISASGET9SVt+GFosNAToJKdGCw0h1PgAHEBgJBMeKHXsAlMZnpbUtaOsQXNuh1I1wRw0RkRAMI35EmRVJiQ6CQS/4r36Yz6Q5X2yICaHmANgdwKmaFrGDqztq2PiMiEgEhhE/om29yPB3Xu1KkqQuRayid9Q4v0fuqCEiEoJhxI901otoEUacSxbD2Hn1fGoYEX5GTap8Ro21DagrETs2EZEfYhjxI5rOjFR61swI0NnuXngRK3fUEBEJxTDiR5SeG8JnRiwtHnEmzfk0W6YBuhSxMowQEQ0Ww4ifqG/tQFVjO4DO7qTCqDtpooDgGLFjD0Ka2mukGXa7Q+zgcTyjhohIFIYRP6HMDiSEmRFqNogd3EPOpDlfclQQAnQSWjtsKG9oEzu4UsTKHTVERIPGMOIn1HoR0c3OAI86k6Yrg16HlOggAFrvqLGLHZuIyM8wjPgJ9bReTbb1OpcqPKDz6vm021EzGtAbgY4WoL5U7NhERH6GYcRPKD+MtdnWqzQ8myB+7EFSzqgRvqNGHwBEj5Pvs4iViGhQGEb8hHpar+iZEQ/dSaNIi+0sYhWOO2qIiIRgGPED7VYbSmrllujCZ0ZqCuCJO2kU6um9WmzvVZaluKOGiGhQGEb8QElNC2x2B0JMAYgLNYkdXO28OtGjdtIolG3MlY3taGjrEDu4MjPCHTVERIMyoDDy4osvIjU1FWazGXPmzMG+fft6fX5dXR3uvvtuJCYmwmQyYfz48fjwww8HdMHkvs7i1WBIogODuq3Xs3bSKMLMBjWAnawSvFQT26XXiENwHxMiIj/idhh56623kJ2djfXr1+PgwYOYNm0aFi5ciMrKym6fb7FYcNVVV6G4uBh///vfkZeXh23btmHkyJGDvnjqH83qRQDXmREPpXzfhaJ31ESNAXQGoKMZqD8tdmwiIj/idhh55plnsGLFCixfvhzp6enYunUrgoKCsH379m6fv337dtTW1uKf//wn5s2bh9TUVMyfPx/Tpk0b9MVT/3T2GPGvnTQKpbeK8LoRvQGITpPvs4iViGjA3AojFosFBw4cQFZWVucAOh2ysrKQk5PT7Wvee+89zJ07F3fffTfi4+MxZcoUPPnkk7DZej56vb29HQ0NDS4fNHCa9RjpaANqT8r3PXhmJE2rXiMAd9QQEQngVhiprq6GzWZDfHy8y+Px8fEoLy/v9jUnT57E3//+d9hsNnz44YdYu3Ytfvvb3+Lxxx/v8X02btyI8PBw9SMpKcmdy6QuHA5Hlx4jgruv1hQCDjtgDgdC4vt+/jAZkh01lQwjREQDpfluGrvdjri4OLz88suYOXMmFi9ejF//+tfYunVrj69Zs2YN6uvr1Y/SUna4HKiKhnY0W2zQ6yQkRwkOI+oSjWfupFEoM0KnalrQYRPcup0zI0REgxbgzpNjYmKg1+tRUVHh8nhFRQUSEhK6fU1iYiIMBgP0er362KRJk1BeXg6LxQKj0XjBa0wmE0wmwVtQ/ZQyG5ASFQRjgODs6QXFq4B8OGCQUY8Wi9xvRehy1fk7ajw4lBEReSq3fjoZjUbMnDkTu3btUh+z2+3YtWsX5s6d2+1r5s2bh8LCQti7HCaWn5+PxMTEboMIiaUUr47RZCdNl5kRD6bTSWq/EfE7asYCugDA0gg0nBE7NhGRn3D7V+Xs7Gxs27YNr732Go4dO4a77roLzc3NWL58OQBg6dKlWLNmjfr8u+66C7W1tbj33nuRn5+PDz74AE8++STuvvtucd8F9UgtXtXitF51ZsRzd9Io1CJW0XUjAUY5kABcqiEiGiC3lmkAYPHixaiqqsK6detQXl6O6dOn46OPPlKLWktKSqDTdWacpKQkfPzxx1i9ejUyMjIwcuRI3HvvvXjwwQfFfRfUI+WHb5romRGrBag9Id/38JkRQMNeI4Dc8K06Tw5naVl9P5+IiFy4HUYAYNWqVVi1alW3X9u9e/cFj82dOxdfffXVQN6KBkk5IE54j5HaE4DdChhDgbARYsfWQJq6o0aLA/MmAniXbeGJiAaIZ9P4sKZ2K8ob2gAAY2MEh5Guzc68oGhT3d5b2QSH6Nbt6o4aHphHRDQQDCM+7KRziSYmxITwIIPYwZUfvB56Js35UqKDoNdJaGq3orKxXezgsV1O7+UZNUREbmMY8WFqG/hYLYpXvWMnjcIUoEdyVBAADepGoscCkh5orwcay8SOTUTkBxhGfFjnThr/PCDvfGM121Fjkg/NA7ijhohoABhGfJhSvCp8J42tA6gukO97wbZehXpgnlY7agC2hSciGgCGER+m2cxIbRFg7wAMwUDYKLFja0gJZYVanFGjdmJlGCEichfDiI+y2uwornFu6xVdM6LWi4wHdN7zT6hzR41W23vBHTVERAPgPT9JyC2l51rRYXPAbNBhRHig2MHVepFJYsfVmFIzUt7Qhsa2DrGDq2HkGHfUEBG5iWHER6ln0sSEQKcT3Aeka48RLxIeaEBsqHwA40nRzc+i0wBJB7TVA00VfT+fiIhUDCM+Sm0Dz500LsZqdWCewQxEjpbvs26EiMgtDCM+6oTaY0RwGLHbgOp8+b6XzYwAXdvCa7GjxrlsxR01RERuYRjxUZqd1nuuGLC1AwGBQESy2LGHgKYH5qlt4RlGiIjcwTDigxwOh3ognPCZEeUHbcw4QKcXO/YQ0HRmpGtbeCIi6jeGER9U3WRBfWsHJAkYHSN4ZkQ5mTbOu3bSKJRwdqqmBR02u9jB1ZkR7qghInIHw4gPUpYgkiKDYDYInr3wsjNpzpcYbkaQUQ+r3YFTNS1iB48ZJ++oaT0HNFeJHZuIyIcxjPigQi130ijFmV46MyJJknZ1I4ZAIDJVvq/MIBERUZ8YRnxQYUUjAGCc6DBis3bZSeOdMyOA1nUj7MRKROQuhhEfVKjVmTTniuSdNIYgICJF7NhDSOk1ok0Y4Y4aIiJ3MYz4oIIK+Yes8JkRZekhxrvOpDmfOjOiyfZeZUcNwwgRUX95708U6lZ9awcqG9sBaDAzUuXd9SIKpWbkRFUzHKJ3vXBmhIjIbQwjPkYpykwIMyPMbBA7uDIz4sX1IgCQEh0MvU5CU7sVFQ3tYgePGQ9AAlpqgOZqsWMTEfkohhEfoyw9aHMmjTIzki5+7CFkDNAhJSoIgAZ1I8YgINJZT8MdNURE/cIw4mM029Zr6wCqC+T7cd49MwJ0LmFp0xZe2VHDpRoiov5gGPExBc5tvcLDSO1JwN4BGEOA8CSxYw+DzroR7qghIhpuDCM+RrOZEbVeZAIgSWLHHgZpWs6MKMtYPL2XiKhfGEZ8SKvFhtPnWgFosK1XbQPv3TtpFEoYKdAkjDj/jCqP8owaIqJ+YBjxISeqmuBwAJFBBkSHmMQOXnlUvvWBehGgM4xUNbajvqVD7OAx451n1NQCTZVixyYi8kEMIz5EWXIYFxcqfvBK35oZCTEFYES4GQBQUNkodnBDIBA1Rr6vhDgiIuoRw4gPUcKI8GZnVgtQe0K+7yMzIwCQFi+HNm2Xari9l4ioLwwjPqRzZkRwGKkpBOxWwBQGhI0UO/YwGq/UjVRoWcTKmREior4wjPgQZblB+E6aqi6dV31gJ41iXLxSxCp4mQbgzAgRkRsYRnyExWrHqZoWAFps61U6r/rOEg0ApDlrazSdGak6Dtjt4scnIvIhDCM+4lRNM6x2B4KNeiQ6CzOFUWdGfKN4VaHMjJQ3tKGhTfCOmqgxgN4IWJqA+lKxYxMR+RiGER9R2OVMGkn0UoqPzoyEmQ1ICHPuqBE9O6I3OA/NA5dqiIj6wDDiIwrUMCJ4W29Hm9wKHvC5mRGgc3akUNO6ERaxEhH1hmHERxRqdVpvTQHgsAHmcCA0QezYHkDpyZKvSd0Ii1iJiPqDYcRHaLatt2uzMx/aSaPo3FGj5fZehhEiot4wjPgAm92hnj6r2bbeON9bogE6w1thhYbLNNV5gM0qfnwiIh/BMOIDzpxrRbvVDmOADklRQWIHV4tXfTWMyMs0Z+vb0Ch6R014MmAIBmyWzrobIiK6AMOID1Cado2JCYZeJ3gppWvDMx8UHmRAXKh8qGCh6KUana5zBxKLWImIesQw4gM0K161NAO1RfJ9pf7BB2lbN8IiViKivjCM+IACrU7rrTwOwAEExwEhsWLH9iDj1E6sWtSN8IwaIqK+MIz4AOWHqPIbvjCVR+Tb+Mlix/UwnBkhIhpeDCNezm53qD0yJiQInhmp8JMwouUZNUqjuNoTcgM5IiK6AMOIlzt9rhWtHTYYA3RIEb2Txm/CiDwzcqauFc3tgrfghiYA5gjAYQeq88WOTUTkIxhGvNzx8gYAQFpsCAL0Av86HQ6/CSORwUbEhGi0o0aS2PyMiKgPDCNeLt9ZLyJ8iaaxHGitBSQ9EDNB7NgeSJkdydey+VkVwwgRUXcYRrxcnrPOYXy8RvUi0WmAwSx2bA80Xj0wj0WsRERDjWHEy+WXy7/JTxQ9M+InO2kUac4wp+0ZNdzeS0TUHYYRL2ax2tUzacZrtpPGd5uddTUkyzR1JUC7BuMTEXk5hhEvVlTdDKvdgRBTAEaEC15KUcPIFLHjeihlmev0uVa0WATvqAmKAkIS5PtcqiEiugDDiBfLc/4WPz4+BJIk8EwaWwdQlSff95NlmqhgI6KDjQCAE5XN4t8gwRnqyr8TPzYRkZdjGPFiSr2I8J001QWAvQMwhQHhSWLH9mBpWi7VKDNMFd+LH5uIyMsxjHgxZWZkglY7aeLS5T4ZfkIpAs7TIowkTJVvyxlGiIjOxzDixZTf4IUXr/rZThrFxMQwAMCxsgbxg6szI0cAu138+EREXoxhxEu1WKwoqW0BoOHMiJ/spFEoMyPHyzWYGYlOA/QmoKMZOFckfnwiIi82oDDy4osvIjU1FWazGXPmzMG+ffv69bo333wTkiThxhtvHMjbUhcFFU1wOICYECOina3MhfGznTQKZUdNVWM7apraxQ6uD+jc4ssiViIiF26HkbfeegvZ2dlYv349Dh48iGnTpmHhwoWorKzs9XXFxcX45S9/iczMzAFfLHXq3EkjeFak9RzQcEa+r/zw9BPBpgCkRMuHDeZpMTui1I2wiJWIyIXbYeSZZ57BihUrsHz5cqSnp2Pr1q0ICgrC9u3be3yNzWbDkiVL8Oijj2LMmDGDumCSabaTpsLZJTQ8GTCHix3bCyhLNce0DCMsYiUicuFWGLFYLDhw4ACysrI6B9DpkJWVhZycnB5ft2HDBsTFxeF///d/+/U+7e3taGhocPkgV5rvpPGz4lXFxAS5iPW4pkWsDCNERF25FUaqq6ths9kQHx/v8nh8fDzKy8u7fc2XX36JV199Fdu2bev3+2zcuBHh4eHqR1KS//S66C9lGYE7acSalKhhEavyZ1pfKi+HERERAI130zQ2NuK2227Dtm3bEBMT0+/XrVmzBvX19epHaWmphlfpfc41W1DZKBdYKmeqCOOnO2kUE5wzI/kVjbDZHWIHD4yQl7+Azj9nIiJCgDtPjomJgV6vR0VFhcvjFRUVSEhIuOD5J06cQHFxMRYtWqQ+Znf2WAgICEBeXh7Gjh17wetMJhNMJsE7RHyI0l9kZEQgQs0GcQPb7Z01I362k0aRHBWEQIMerR02FNc0Y2ys4LCXMAWoL5HrRlIvEzs2EZGXcmtmxGg0YubMmdi1a5f6mN1ux65duzB37twLnj9x4kR89913yM3NVT9+9KMf4YorrkBubi6XXwZICSMTRS/R1BXLfTD0JiDqwpDoD/Q6SV36Ol6mZVt4bu8lIlK4NTMCANnZ2bj99tsxa9YszJ49G1u2bEFzczOWL18OAFi6dClGjhyJjRs3wmw2Y8oU19+wIyIiAOCCx6n/8rTqvKrMisROkPti+KlJCaE4VFqH4+UNuD4jUezg6oF5LGIlIlK4/RNn8eLFqKqqwrp161BeXo7p06fjo48+UotaS0pKoNOxsauWlOJV8TtpnD8g/XSJRqFu79VyZqTyGGCz+nXoIyJSDOh/wlWrVmHVqlXdfm337t29vnbHjh0DeUtycjgcnTtpRIeRskPybeI0seN6GeWMmuPlGmzvjRwNGEMASxNQU+B3jeWIiLrDKQwvU9HQjoY2K/Q6CWPjgsUOroaRDLHjehllZuT0uVY0tnWIHVynk09DBrhUQ0TkxDDiZY45f1sfHRMMU4Be3MDN1Z1t4JVOoX4qIsiIhDAzgM5iYaESWMRKRNQVw4iXOXpWDiPpzqUEYZRZkeg0wCR4+ccLTUzUsG6EbeGJiFwwjHiZI2frAQCTR2gURvy8XkShtoXXom4kngfmERF1xTDiZZSZkckjBB9ixzDiQm0Lr8mOmnQAEtBUATRViR+fiMjLMIx4kca2DhTXtAAA0rWaGUnw7+JVhXIacl55IxwOwW3hjcFAlPP0ataNEBExjHgTpX4hMdyMqGCjuIFb64BzRfJ9zowAAMbEhMCgl9DYbsWZulbxb8DmZ0REKoYRL6JZvUi587fz8GQgKErs2F7KGKBTz6XRZqlGKWLlzAgREcOIF1F30oiuFyk/LN/6eX+R803SsvmZ8met/NkTEfkxhhEvckTrbb2J08WO6+XUtvDlGsyMKH/WVXlAuwbjExF5EYYRL2Gx2lFQKf/Q0m5bL2dGulLbwpdpMDMSGg+EjQTgAMo4O0JE/o1hxEvkVzSiw+ZAeKABoyIDxQ1saQaq8+X7LF51Mck5M1JU3YwWi1X8G4y4SL49+634sYmIvAjDiJc4Wta5XZd0KQAAIABJREFURCNJkriBK44ADjsQEg+EJogb1wfEhZkRF2qC3QEc02J2ZIRzqYZhhIj8HMOIl+gsXmXn1aE0daRcLHz4dL34wTkzQkQEgGHEa7AN/PCY4gwj353RIIwkOsNI7Qm51wsRkZ9iGPECdrtD+zbw7LzaLWVm5HstwkhwNBCRLN9X/h6IiPwQw4gXOFXbgmaLzdmIK1jcwNZ2oPKYfJ8zI92aOkoOI4WVTSxiJSLSCMOIF1BmRSYmhCJAL/CvrPIYYO8AzBGdv6GTi/gwM2I1LWJlGCEiYhjxAkNSLyJyh46PUZZqvmMRKxGRJhhGvMARrdrAs3i1XzqLWLVoC+/8s687BbTUih+fiMgLMIx4gSNq8aroA/KUM2kYRnqToWURa2AkEDVGvs/ZESLyUwwjHq6ysQ3VTe2QpM6zUoSwWTuPr2cY6ZVSxFpQ2cgiViIiDTCMeDhlVmRMTDCCjAHiBq48AlhbAVMYEDVW3Lg+iEWsRETaYhjxcJr1Fzn9jXw7ciag4z+DvgxNEWuu+LGJiLwAfwp5OM120pzeL9+OuljsuD5K0yLWhAwAEtBwGmiqFD8+EZGHYxjxcEobcs1mRhhG+kXTTqzmMCBmnHyfsyNE5IcYRjxYdVM7SmtbIUlARpLAMNJSC9QUyvdHzRI3rg9TwkhBZSNaLTbxb6Au1RwUPzYRkYdjGPFguSXy4WlpsSEIMxvEDXzmgHwbNRYIihI3rg+LDzMhJkQuYj3KIlYiIqEYRjxYbqkcRqYnRYgdmEs0bpMkCVNHynU7353W4ITdrmHE4RA/PhGRB2MY8WDflp4DAExP1iqMcInGHVNHyX8P2hSxTgUkHdBUATSWiR+fiMiDMYx4KJvdgUOlcrHkRUmR4ga224HTzmUazoy4RdMiVmMwEDtJvq/sdCIi8hMMIx7qRFUTmtqtCDToMT4+RNzANQVAez0QEAjETxY3rh/QvIg1yRkOS78WPzYRkQdjGPFQSvFqxqhwBOgF/jUpSzQjLgL0Aoti/YDmRaxJl8i3DCNE5GcYRjzUt0rxKutFPIbmRazJc+Tbs7lAR6v48YmIPBTDiIf6tkQuXr1I+E4adl4djGnOvw8lLAoVORoIiQfsHcAZ9hshIv/BMOKBmtutyK9oBABclCyweLW9Eag8Kt9nGBmQmSny38eBU+fEDy5JQJJzdqT0K/HjExF5KIYRD/TdmXrYHUBiuBnxYWZxA5/9FnDYgfAkICxR3Lh+ZHpSBHQScPpcKyoa2sS/QbKzbqSEdSNE5D8YRjzQt87i1YtYL+JxQs0GTEiQ60b2F2swO9K1iNVuFz8+EZEHYhjxQLlKszPWi3ikWc6lmv2nasUPnpghb7tuqwOq88WPT0TkgRhGPIzD4VBnRqaLbHbmcLANvCCzUuW/l4Na1I3oDcDImfJ91o0QkZ9gGPEwZfVtqGxsh14nqU22hKg7BTRXAToDkJAhblw/pBSxHjnboE3zM2WLL+tGiMhPMIx4GOVwvIkJoQg06sUNrCzRJGYABoFFsX5oZEQg4sNMsNod6t+XUMlz5VvOjBCRn2AY8TDKDzfhxatKV8+RLF4dLEmSMCslCgBwQIu6kVEXA5CA2pNAU6X48YmIPAzDiIdRmp0JrRcBgOIv5duUS8WO66c07TcSGAHEOQ/NK+HsCBH5PoYRD9Jhs+M754mwQnfSNFd3NjtLzRQ3rh9TilgPnDoHu90h/g3U5mesGyEi38cw4kHyyhvR1mFHmDkAY2KCxQ2szIrETQaCo8WN68cmJYYh0KBHQ5sVhVVN4t9AbX7GmREi8n0MIx5kf7FcfzA9ORI6nSRu4OI98m3qZeLG9HMGvQ7TkuTdTto0P3POjJQd4qF5ROTzGEY8SM7JGgDAJWOixA6szIyM5hKNSJ1FrBqEkchUHppHRH6DYcRD2O0OfF0kz4xcMkbgUkpTJVB1HIAEpMwTNy51KWLVYEeNJHUu1XCLLxH5OIYRD3G8vBF1LR0INurFNjtTlmjipwBBgmdc/NwM54nKxTUtqGpsF/8GSawbISL/wDDiIZQlmotHR8GgF/jXwiUazYQHGTA+PgQAcLBEg6WaFGfzs5KvAJtV/PhERB6CYcRD5JxQ6kUE73YpUopXGUa0MFPLupGEDCAwEmhvAM4cED8+EZGHYBjxADa7A18XyWFkrsgw0lAG1BRArheZK25cUil1I8pOKKF0emD0fPn+yc/Ej09E5CEYRjzAsbIGNLZZEWoKwOQRYeIGVpZoEp2/YZNws5xh5PszDWjr0ODQvLFXyLcnGEaIyHcxjHgAZYlm9ugoBAitF+ESjdZSooMQH2aCxWbHN1rMjoxxhpHT3wBtDeLHJyLyAAwjHqCzv4jgehEljIy+XOy4pJIkCZelxQIAviyoFv8GkSlA1BjAYev8+yQi8jEDCiMvvvgiUlNTYTabMWfOHOzbt6/H527btg2ZmZmIjIxEZGQksrKyen2+v7Ha7Njn7C8yd6zAMFJ/Rj71VdJ19qsgTVw+PgYA8IUWYQTonB3hUg0R+Si3w8hbb72F7OxsrF+/HgcPHsS0adOwcOFCVFZ2f9T57t27ccstt+Czzz5DTk4OkpKScPXVV+PMmTODvnhfcORsA5rarQgzB2BSohb1ItMBs8C+JXSBeWlyGDlW1qBNvxGlboRFrETko9wOI8888wxWrFiB5cuXIz09HVu3bkVQUBC2b9/e7fN37tyJX/ziF5g+fTomTpyIV155BXa7Hbt27Rr0xfsCZYlm9uho6IWeR/OFfMv+IpqLCTEh3Rkk957QYHYkNVOe4aopBOpKxY9PRDTM3AojFosFBw4cQFZWVucAOh2ysrKQk5PTrzFaWlrQ0dGBqKieu4G2t7ejoaHB5cNXKcWrQpdoAPYXGWKZ45xLNfkahJHACGDkTPk+Z0eIyAe5FUaqq6ths9kQHx/v8nh8fDzKy8v7NcaDDz6IESNGuASa823cuBHh4eHqR1JSkjuX6TU6uuzAENpf5FwxUHcKkPSsFxkimeOcRayFVXA4HOLfgHUjROTDhnQ3zaZNm/Dmm2/inXfegdls7vF5a9asQX19vfpRWuqbU9PfnalHi8WGiCADJiaEihs4/2P5NnkuYBI4LvVoVmokTAE6VDS0o6CySfwbKHUjRZ8Ddrv48YmIhpFbYSQmJgZ6vR4VFRUuj1dUVCAhIaHX1z799NPYtGkTPvnkE2RkZPT6XJPJhLCwMJcPX6Qs0cwZHQWdyHqR/I/k2/ELxY1JvTIb9Jg9Wl563KPFrppRFwPGEKClBig/LH58IqJh5FYYMRqNmDlzpkvxqVKMOnduz+3GN2/ejMceewwfffQRZs2aNfCr9TFfndSgBXx7Y+dOmgnXihuX+qTUjXxZUCV+cL0BSL1Mvs+6ESLyMW4v02RnZ2Pbtm147bXXcOzYMdx1111obm7G8uXLAQBLly7FmjVr1Oc/9dRTWLt2LbZv347U1FSUl5ejvLwcTU0aTGV7kVaLrUt/kRhxA5/4D2CzAFFjgZhx4salPinNz746WYt2qwat4Vk3QkQ+KsDdFyxevBj/v707j4+qvvc//polGyEJkEBCgECAsMgSlrBTsAUBQVpaF7SoVNrb21tQkF6r0oL6qxrRn5YrcqHYXqutiGIFlboUU0SprIlBthC47EtIAmTfJjPn/nGSIBUqmDNzyPB+Ph7zOGfOTD7fL4ck88l3LSgoYMGCBeTl5dGvXz8++OCDhkGtR48exek8n+MsXbqUmpoabrnllgviPPLIIzz66KONq30TtvFAIdW1Ptq1iGjYht4S9eNFuk2wLqZclh4JUcQ1D6OwrJqsI0XWz5CqHzdydDN4KiEkwtr4IiI2ueJkBGDWrFnMmjXroq99/PHHFzw/fPjwNyki6H20xxx3c8N18TgcFo0X8XnPJyPdlYwEmtPpYGTXWNZkn2TjgQLrk5G4bhCVCKUn4chn0HWMtfFFRGyivWls4PMZZOSYK9aO7Rn/Ne++AicyoaIQwmLMmTQScPVTfP0yiNXhOJ+A7Hvf+vgiIjZRMmKDHceLKCyrJirM3TADwxL1s2i6jjEHPErAjawbxLrzRDHnymusL6Dnd83j3nc1xVdEgoaSERtk7DVbRUZ1b02o28L/gn11yYhm0dgmPjqc7vFRGAb8wx9Lw3ceDWHRUJYHx7dZH19ExAZKRmzw0V5zvMjYnm2sC1p0FPJ3m3uYdL306rbif/WtIxv2+WGKrzvs/Poxe9+xPr6IiA2UjATYsbMV5OSV4nI6+HZ3C5OR+oGrHYZCMwu7fuSKjalLMtftPY3H64eulIaumnfAH0vPi4gEmJKRAMuoaxVJ69iSFs1CrQtcP6BRq67abkhyLLGRoRRVeBoWtrNU1zHgjjBbw7Qaq4gEASUjAfbRXj/Moqkug8N1u/RqvIjtXE4H43ub2yO8t/PyNpC8IqGRkFLXFbdHXTUi0vQpGQmgkioPWw6ZfymPvc7CZOTgenPV1ZbJ5loUYruJvdsC8LfdedT6pavme+ZR40ZEJAgoGQmgT3IL8HgNurSOJDku0rrAOe+Zx24TzLUoxHZDOreiZbMQzpTXsPXwWesL6DYOnCFQmAsF+6yPLyISQEpGAqh+1VVLu2hqKsw1JwB6TrYurjRKiMvJuOvMrpr3/dFVEx5zfnl4ddWISBOnZCRAar0+1tdN9bS0i2bfe1BTCjFJWnX1KnNjHzMZ+WB3Hl6fH2a9NMyqedv62CIiAaRkJEC2HzlHcaWHls1CGJDU0rrAX7xuHvveBk79d15NhneJIzrcTUFpNdv90VXTfSI4XJC3E84esj6+iEiA6NMrQNZ+cRKA7/SIx+W0aFxHWT4cyDDPU2+3JqZYJtTtZFyvuq6aXX7oqomMhU4jzPP6rjoRkSZIyUgAVHm8vLvjFADf79/OusC7/gKGF9oNhLgU6+KKZSb2qU9GTuHza1eNxo2ISNOlZCQAMvbmU1zpITEm3Npt5XesNI991SpytRrRNY6oMDenS6r5/Ng56wvoOdncAuD4Nijcb318EZEAUDISAG9mHgPg+wPaWddFk58Dp7LB6YbeN1sTUywX5nY1DFj2ywJoUQmQMs48z3rZ+vgiIgGgZMTP8kuq+GS/uXvrzQPaWxf4i7pWka43mGMH5Kp1Y+/6Kb6nMPyxl8zAH5nH7BVQW219fBERP1My4mdrsk/g9RkM7NiSzq2bWxPU54MvVpnnqVOtiSl+M6pbayJDXZwsrmLrIT/Mqul6A0S1hYozkPNX6+OLiPiZkhE/MgyDNzOPA3DLQAtbRY5shJLjEBYD3bQXzdUuPMTFd/slAvDqlqPWF+ByQ/87zXN11YhIE6RkxI92nSgh93QZYW4nk/q2tS7wjrq1RXp9D0LCrYsrfjNtSEfAnFVTWOaHrpT+dwEOOPgxnD1ofXwRET9SMuJH9QNXx/dKIDo8xJqgNRWwp27FzdQ7rIkpfte7XQypHVrg8Rq8sf2Y9QW07AhdvmOeZ/3J+vgiIn6kZMRPqmu9vL3DXOjM0i6anavM5d9bJEGHodbFFb+7c0gSACu2HPXPmiMDp5vHz/8MXo/18UVE/ETJiJ+sz8mnqMJDQnQ4I7rGWRPU54NNL5jng/9dy783MZNTE4kOd3P8XCUb9hdYX0D3iRDZBsrzIfcD6+OLiPiJPs38pH7gqqVri+z/m7llfFg0DLjbmpgSMOEhLm4Z2AGAVzcfsb4AVwj0+6F5nvlH6+OLiPiJkhE/OHa2omGHXkvXFvlssXkc+CMIj7YurgTMtKFmV83fc/I5UVRpfQH1SeqBDCjyw8wdERE/UDLiB8s/OYjXZ/CtlDi6trFobZETmeaUXqcbhvzMmpgScF1aN2d4l1h8Bqzc6odkIbYLJI8CDNj6ovXxRUT8QMmIxQpKqxtmS/z8+q7WBf6sbqxI71sgxsLN9iTg6qf5rtx2DI/XZ30BQ39uHrf9AcrPWB9fRMRiSkYs9j//OER1rY9+HVowtHMra4KeOwJ71pjnw2dZE1NsM65XPK2jwigoreZvu09bX0C3CdA2FTzlsGmx9fFFRCymZMRCJVUe/rzJHJj48+u74HBYNHB181IwfND525DQx5qYYpsQl5PbB5kDWX+/8aD1+9U4HDD6IfN864tqHRGRq56SEQv9adMRSqtrSWnTnLE9460JWnkOsl4xz4ffa01Msd1dQzsSHuLk86NFrN+Xb30B3W+EhL5QU3Z+OriIyFVKyYhFqjxeXvrHIQD+4/ouOK2azpv5R7O5vU2v8ytsSpPXJjqcHw1PBuCZD3OtXwTN4YDr61tHlkOFHzboExGxiJIRi7yx/RiFZTW0axHB5NREa4JWnoN/PG+eD59lfsBI0PjZ6M5EhbnZe6qEv+48ZX0B3Sea3XpqHRGRq5ySEQt4vD5+t8HcnOynozoT4rLotn68ECrPQuue0Oc2a2LKVaNFs1D+bVRnAH67Lpdaq2fWfHnsyBa1jojI1UvJiAXezj7JiaJKYiNDuS2tgzVBC3JhW906EROeNLeJl6AzY2QyrSJDOVhYzltZJ6wvoMckiO9j7me0aYn18UVELKBkpJFKqzw8/UEOAD/+VjIRoS5rAn84D3y10O1GjRUJYs3D3Pz8+i4ALPool+par7UFOBxw/YPm+ZZlUHLS2vgiIhZQMtJIz63LJb+0mk6xzZgxItmaoLl/gwPrwBkC45+wJqZcte4c2pGE6HBOFlexYosfVmXtPgnaDTTHjrz3gPXxRUQaSclII+w+WczLnx0G4P99rzfhIRa0ing9ZqsIwJB/N5f3lqAWHuLivjEpACxZf4Dy6lprC3A6YfLz5lYCOWthzzvWxhcRaSQlI9+Qz2fw6zW78BkwqW9bRnVrbU3grS/Cmf3QLA5G/9KamHLVuzWtPR1jm1FYVsPCum4/SyX0hhFzzPP3/hMqi6wvQ0TkG1Iy8g29vv0Ynx8tIjLUxfxJ11kTtLwQNjxlno+ZD+Ex1sSVq16Iy8kTU8zVdV/ZdISN+wutL2TUAxDbFcpOw7oF1scXEfmGlIx8A2fKqnnqffOv17njupMQE974oIYBb8+EqmJzbYj+dzU+pjQpI1PiuGuouYneA2/uoLjSY20BIeFmdw1A1stw6FNr44uIfENKRr6Bp97PobjSQ8+20Uwf1tGaoFuWQe4H4AqDKUvBadGsHGlSHp7Yg06xzThVXMVj7+62voBOI2DgPeb5u/eBp9L6MkRErpCSkSu09ouTrMo8DsDjU3rjtmKBs5Ofw9/mm+fjn9BmeNewZqFunr0tFacD3so6wYe786wv5IbHoHkCnD14/vtORMRGSkauwO6TxTyw6gvAXGl1YMeWjQ9aXQpvzgCfB3rcBIN+0viY0qQN7NiKn44yZ1HNe2snhWXV1hYQHgOT/8s83/aiOWhaRMRGSkYu05myan76SiaVHi/fSonjwQk9Gh/UMGDtXPMv1JgO8L0XtP+MAHD/DSl0j4/iTHkND6zaYf1S8d0nwHfqWkXefxAOZFgbX0TkCigZuQwer4+ZK7I4UVRJp9hmvHDHAFxW7MqbvQJ2vgEOF9z8e4iwoKVFgkKY28VzU1MJdTtZv6+Aeat3YhgW7+z7rV9A6h1geGHVjyDfD1OKRUQug5KRy/D42j1sPniWyFAXy+9OI6ZZSOODHvoE1tat+/DteZA0tPExJaj0Soxh8R39cTrgje3HefrDfdYW4HCY3TVJw6C6BFbcZk4vFxEJMCUjX+Plzw7z8qYjAPx2aj+6xUc1PuiJLHjtDvDWmONERt7f+JgSlMb3SiD9B+aA5qUf/y+///SgtQW4w2Dqq9CyExQdgZXTzHFMIiIBpGTkEgzD4L8+2s8j75jTK+8f241xvRIaH7ggF169xdwnJHkU3PwHTeOVf2nqoCR+OaE7AI//dS9vZR23toDIWPjhGxAWA8c2w0sTodQPs3hERC5BychFeH0GC97ezW8/ygXgvu905b4xXRsfuPg4/On7UHEGEvvD7SvMhahEvsZ/jO7Cj0eaGzE+8OYXvLHtmLUFtO4Od682tyHI+wJ+fwMUWNwtJCJyCUpG/kl1rZd7X8viT5uP4HDAY9/txdxx3XE0dpZLWYGZiJQch9gUmPYXCLOgy0euCQ6Hg19N7MnNA9rj9Rn88i9f8Os1O6mptXCWTbuB8JN10KoLFB+FP9wAh/9hXXwRkUtQMvIlp0uqmP4/W3lvZx4hLgeL7+jP9OGdGh+4IBd+PwYKcyG6Pdy9xmwaF7kCTqeDZ27pyy9u6IbDAX/efJQfvriZ/NIq6wpp1Rl+vA7aDza3JvjTFMj8ozkNXUTETxyG5fMFrVdSUkJMTAzFxcVER0dbHt8wDFZtP85v/rqH0qrahlkzI7rGNT74oU/h9WnmL/aWneDOtyC2S+PjyjXt7zmnmb0ym9KqWuKjw1jywwGkdWplXQGeSnjr32Dvu+bz5FFw0yJ974rIFbncz+9rPhk5draCeat38mndLql928fw/29NtWbWTPZr8M695uqq7QfDHa9BpAUJjghwqLCcn76ynf35ZQD8YEA7fjm+hzUbNwL4vLDpBVifDrWV4A6H6x+GYbPA5bamDBEJakpGvobPZ/DKpsM8/eE+Kmq8hLmd/GJcN2aMSG78fjNeD3ycDp8+az6/bgp8fxmERDS63iJfVlZdy6Pv7ObNuv2SIkJc/Gx0F346qjMRoRbN0jp7ENbeDwc/Np/H94ZRD0DPyZoJJiL/kpKRr1Fd62XS8xs5kF/G4ORWLLy5L8lxkY0PfCLLbA05vct8PmIOjHkEnBqeI/6TfayI36zdQ+aRcwC0jQnnR8M7cfPA9sQ1D2t8AYYBO16DD+dBpVkGLTvB0JnQfxqEWvCzIyJBR8nIZcg6eo7dJ0uYNjgJZ2OXd6+pgPVPwOb/BsMHEa1g4jPQ5xZrKivyNQzD4K87T5H+Xg4niioBCHE5uOG6eG4flMTIrnGN/z4vPwNbf2durld51rwW3gJSbzcX8Esapi4cEWmgZCRQPJWwezVseBrOHTKv9bkVJjyl8SFiiyqPlzWfn+C1bcfYcayo4XqbqDBGdo1jZEocI7vG0Sa6EWNLaipgxwrYtMTsxqkX0Qq63wjdJ5pbHOhnQOSa5tdkZMmSJTzzzDPk5eWRmprK4sWLGTx48CXfv2rVKubPn8/hw4dJSUlh4cKFTJw48bLLuyqTkYJcyHwJsl81Z8qAOW33pueg23h76yZSZ++pElZuPcpbn5+gtKr2gte6x0fRt30MPdpG0zMhih5to2kVGXplBfi8sH8d7H0H9r13vgunXouO0D4N2qVBQh9z6nBUW3Vbilwj/JaMvP7669x9990sW7aMIUOGsGjRIlatWsW+ffto06bNV97/2WefMWrUKNLT07nppptYsWIFCxcuJCsri969e1v6j/Ebr8dcjfJUNpzMhhOZcDLr/OstkmDgPTDoJxB+lSRLIl9S5fGSeeQcn+4vZOOBAnafLLno0iGtIkNp1yKCxBbhJLaIIDEmgtjmobRsFkqLZiG0bBZKTEQIkWFuQt3/lFB4a+HoZ7B3LRxcb66rczHuCGiVbCYmzePrHm3MY7NY82coLNo8hjY3N/QTkSbJb8nIkCFDGDRoEC+88AIAPp+PDh06cO+99/LQQw995f1Tp06lvLyctWvXNlwbOnQo/fr1Y9myZRcto7q6murq6gv+MR06dLA+Gdm0BM4dBl9t3cNnHmvKoLIIqorMY3kBeKsv/FqHE7pNgLQZ0GWM/tKTJuVseQ1bD51l76kScvJKyMkr5ciZiiuKEeJy0CzUTbNQF+EhLkJdTkLddQ+Xk2hHOV09uXSt2UeXmhwSPEeJ9ZzCxeWvGuvDiccZVvcIp9ZhnnsdbnwON15nCF5HCD5cGA4nPoer4dzAYV7DieFwAg7MX3YODIcDcNSd15fmwODLiY95/pVfkN8wObowtsjVJ2nif5LYqbulMS83GbmikWY1NTVkZmby8MMPN1xzOp2MHTuWTZs2XfRrNm3axNy5cy+4Nn78eNasWXPJctLT03nssceupGrfzO7VcHzb5b03LBoS+kJiP2ibCh1HQEw7/9ZPxE9aRYYyoXcCE3qf3/yxrLqWI2fKOVVUxcniSk4UVXKqqIqz5TUUVdZwrtxDUUUN5TVeADxeg+JKD8WVnkuW8yFJQBJwAwBuamnnKCTZkUcHRz6tHUXEUUxrRzGtHUW0pIwoRwVRVBLi8OLER5ivkjBfpT9vh4gAOYW3W56MXK4rSkYKCwvxer3Ex8dfcD0+Pp6cnJyLfk1eXt5F35+Xd+ldQR9++OELEpj6lhHL9ZsGnb9trpXgdIGj7hjaHCJamLMEIlqYm4fFdFDrhwS15mFueiXG0Csx5l++z+P1UVHjpaKmlvJq81hd66Pa46PG66Wm1kd1rQ+vz6DWZ5hHrw+fYW5C6TPMh9cHBgbnDDhrGOyta4IwDDAMHy5vFaHectzeKkK8lbh91bh91bh81TiNWlyGB5fPg9PnwWGYiYvT8JrnhhezLcLAYfhw4AWjvm3EvI7x5bYKo6HdpKESdde/7PLbNq76eQEiX5HcJsm2sq/KOXhhYWGEhVmwNsLXSbvH/2WIBJkQl5OYCCcxESF2V0VEgsQV/akfFxeHy+Xi9OnTF1w/ffo0CQkJF/2ahISEK3q/iIiIXFuuKBkJDQ1l4MCBZGRkNFzz+XxkZGQwbNiwi37NsGHDLng/wLp16y75fhEREbm2XHE3zdy5c5k+fTppaWkMHjyYRYsWUV5ezj33mF0ed999N+3atSM9PR2A2bNnM3r0aJ599lkmTZrEypUr2b59O8uXL7f2XyIiIiJN0hUnI1OnTqWgoIAFCxaQl5dHv379+OCDDxoGqR49ehTnlwZ6Dh8+nBUrVvDrX/+aefPmkZKSwpo1ay57jREREREJbloOXkRERPzicj+/NVc/xg0qAAAHHUlEQVRVREREbKVkRERERGylZERERERspWREREREbKVkRERERGylZERERERspWREREREbKVkRERERGx1Ve7a+8/q12UrKSmxuSYiIiJyueo/t79ufdUmkYyUlpYC0KFDB5trIiIiIleqtLSUmJiYS77eJJaD9/l8nDx5kqioKBwOh2VxS0pK6NChA8eOHdMy836k+xw4uteBofscGLrPgeHP+2wYBqWlpSQmJl6wb90/axItI06nk/bt2/stfnR0tL7RA0D3OXB0rwND9zkwdJ8Dw1/3+V+1iNTTAFYRERGxlZIRERERsZXr0UcffdTuStjJ5XJx/fXX43Y3iR6rJkv3OXB0rwND9zkwdJ8Dw+773CQGsIqIiEjwUjeNiIiI2ErJiIiIiNhKyYiIiIjYSsmIiIiI2ErJiIiIiNjqmk5GlixZQqdOnQgPD2fIkCFs3brV7ioFlfT0dAYNGkRUVBRt2rRhypQp7Nu3z+5qBb2nnnoKh8PBnDlz7K5K0Dlx4gR33nknsbGxRERE0KdPH7Zv3253tYKO1+tl/vz5JCcnExERQZcuXfjNb37ztZutyb/2ySefMHnyZBITE3E4HKxZs+aC1w3DYMGCBbRt25aIiAjGjh3L/v37A1K3azYZef3115k7dy6PPPIIWVlZpKamMn78ePLz8+2uWtDYsGEDM2fOZPPmzaxbtw6Px8O4ceMoLy+3u2pBa9u2bfzud7+jb9++dlcl6Jw7d44RI0YQEhLC+++/z549e3j22Wdp2bKl3VULOgsXLmTp0qW88MIL7N27l4ULF/L000+zePFiu6vWpJWXl5OamsqSJUsu+vrTTz/N888/z7Jly9iyZQuRkZGMHz+eqqoq/1fOuEYNHjzYmDlzZsNzr9drJCYmGunp6TbWKrjl5+cbgLFhwwa7qxKUSktLjZSUFGPdunXG6NGjjdmzZ9tdpaDy4IMPGiNHjrS7GteESZMmGTNmzLjg2g9+8ANj2rRpNtUo+ADG6tWrG577fD4jISHBeOaZZxquFRUVGWFhYcZrr73m9/pcky0jNTU1ZGZmMnbs2IZrTqeTsWPHsmnTJhtrFtyKi4sBaNWqlc01CU4zZ85k0qRJF3xfi3Xeeecd0tLSuPXWW2nTpg39+/fnxRdftLtaQWn48OFkZGSQm5sLwI4dO9i4cSM33nijzTULXocOHSIvL++C3x8xMTEMGTIkIJ+L1+T6uoWFhXi9XuLj4y+4Hh8fT05Ojk21Cm4+n485c+YwYsQIevfubXd1gs7KlSvJyspi27ZtdlclaB08eJClS5cyd+5c5s2bx7Zt27jvvvsIDQ1l+vTpdlcvqDz00EOUlJTQo0cPXC4XXq+XJ554gmnTptldtaCVl5cHcNHPxfrX/OmaTEYk8GbOnMmuXbvYuHGj3VUJOseOHWP27NmsW7eO8PBwu6sTtHw+H2lpaTz55JMA9O/fn127drFs2TIlIxZ74403ePXVV1mxYgW9evUiOzubOXPmkJiYqHsdpK7Jbpq4uDhcLhenT5++4Prp06dJSEiwqVbBa9asWaxdu5b169fTvn17u6sTdDIzM8nPz2fAgAG43W7cbjcbNmzg+eefx+124/V67a5iUGjbti3XXXfdBdd69uzJ0aNHbapR8HrggQd46KGHuP322+nTpw933XUX999/P+np6XZXLWjVf/bZ9bl4TSYjoaGhDBw4kIyMjIZrPp+PjIwMhg0bZmPNgothGMyaNYvVq1fz97//neTkZLurFJTGjBnDzp07yc7ObnikpaUxbdo0srOzcblcdlcxKIwYMeIrU9Nzc3Pp2LGjTTUKXhUVFTidF348uVwufD6fTTUKfsnJySQkJFzwuVhSUsKWLVsC8rl4zXbTzJ07l+nTp5OWlsbgwYNZtGgR5eXl3HPPPXZXLWjMnDmTFStW8PbbbxMVFdXQ7xgTE0NERITNtQseUVFRXxmHExkZSWxsrMbnWOj+++9n+PDhPPnkk9x2221s3bqV5cuXs3z5crurFnQmT57ME088QVJSEr169eLzzz/nueeeY8aMGXZXrUkrKyvjwIEDDc8PHTpEdnY2rVq1IikpiTlz5vD444+TkpJCcnIy8+fPJzExkSlTpvi/cn6fr3MVW7x4sZGUlGSEhoYagwcPNjZv3mx3lYIKcNHHSy+9ZHfVgp6m9vrHu+++a/Tu3dsICwszevToYSxfvtzuKgWlkpISY/bs2UZSUpIRHh5udO7c2fjVr35lVFdX2121Jm39+vUX/Z08ffp0wzDM6b3z58834uPjjbCwMGPMmDHGvn37AlI3h2FoSTsRERGxzzU5ZkRERESuHkpGRERExFZKRkRERMRWSkZERETEVkpGRERExFZKRkRERMRWSkZERETEVkpGRERExFZKRkRERMRWSkZERETEVkpGRERExFb/B0vHIuHafaDwAAAAAElFTkSuQmCC"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "CFL number is: 0.5\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "PyObject <matplotlib.legend.Legend object at 0x7fb2889fdd90>"
            ]
          },
          "metadata": {},
          "execution_count": 8
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Lax-Wendroff method provide a second order (in time and space) numerical solution. We could write the taylor expansion of $u(x, t+\\Delta t)$ with respect to time:\n",
        "\n",
        "$$\n",
        "u(x, t+\\Delta t)=u(x, t)+\\Delta t u_{t}(x, t)+\\frac{\\Delta^{2} t}{2} u_{t t}(x, t)+O\\left(\\Delta^{3} t\\right)\n",
        "$$\n",
        "\n",
        "we konw that $\\partial_{t}=-c \\partial_{x}$, so:\n",
        "\n",
        "$$\n",
        "u(x, t+\\Delta t)=u(x, t)-c \\Delta t u_{x}(x, t)+c^{2} \\frac{\\Delta^{2} t}{2} u_{x x}(x, t)+O\\left(\\Delta^{3} t\\right)\n",
        "$$\n",
        "\n",
        "with finite difference scheme\n",
        "\n",
        "$$\n",
        "u_{i}^{n+1}=a_{-1} u_{i-1}^{n}+a_{0} u_{i}^{n}+a_{1} u_{i+1}^{n}\n",
        "$$\n",
        "\n",
        "where $a_{-1}=\\frac{1}{2} C(1+C), a_{0}=1-C^{2}, a_{1}=\\frac{-1}{2} C(1-C) \\text { and } C=\\frac{c \\Delta t}{\\Delta x}$, we will get matrix like:\n",
        "\n",
        "$$\n",
        "\\mathbf{A}=\\left[\\begin{array}{ccccccc}\n",
        "a_{0} & a_{1} & 0 & 0 & 0 & \\cdots & a_{-1} \\\\\n",
        "a_{-1} & a_{0} & a_{1} & 0 & 0 & \\cdots & 0 \\\\\n",
        "0 & a_{-1} & a_{0} & a_{1} & 0 & \\cdots & 0 \\\\\n",
        "\\vdots & \\vdots & \\ddots & \\ddots & \\ddots & \\vdots & \\vdots \\\\\n",
        "0 & 0 & \\cdots & a_{-1} & a_{0} & a_{1} & 0 \\\\\n",
        "0 & 0 & \\cdots & 0 & a_{-1} & a_{0} & a_{1} \\\\\n",
        "a_{1} & 0 & \\cdots & 0 & 0 & a_{-1} & a_{0}\n",
        "\\end{array}\\right]_{N \\times N}\n",
        "$$\n",
        "\n"
      ],
      "metadata": {
        "id": "_BRSMrUnncgU"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "function LaxWendroffMatrixAssembly(m::LinearAdvection1D)\n",
        "    C=CFL(m)\n",
        "    aleft=C*(1+C)/2\n",
        "    amid=1-(C*C)\n",
        "    aright=C*(C-1)/2\n",
        "    a1=fill(aleft, m.N-1)\n",
        "    a2=fill(amid, m.N)\n",
        "    a3=fill(aright, m.N-1)\n",
        "    A=spdiagm(-1=>a1,0=>a2,1=>a3)\n",
        "    A[1,end]=aleft\n",
        "    A[end,1]=aright\n",
        "    return A\n",
        "end\n",
        "\n",
        "u0 = exp.(-(x .- 2) .* (x .- 2))\n",
        "u = solve(u0,LA1D,LaxWendroffMatrixAssembly)\n",
        "\n",
        "plot(x, u0, label=\"Initial value\")\n",
        "plot(x, u, label=\"Solution at t=$(LA1D.T)\")\n",
        "title(\"LaxWendroff\")\n",
        "legend()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 489
        },
        "id": "fCSENkeEm4RC",
        "outputId": "be43a1be-656a-4303-afa2-5309c8a1687c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Figure(PyObject <Figure size 640x480 with 1 Axes>)"
            ],
            "image/png": "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"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "CFL number is: 0.5\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "PyObject <matplotlib.legend.Legend object at 0x7fb2837955d0>"
            ]
          },
          "metadata": {},
          "execution_count": 9
        }
      ]
    }
  ]
}
